<!--
 * @Description  : 
 * @Author       : jiangxiaoying
 * @Date         : 2021-03-09 13:23:57
 * @LastEditTime : 2021-03-09 16:39:18
 * @LastEditors  : jiangxiaoying
 * @FilePath     : \cloud-components\docs\pages\components\cloud-upload\example3.vue
-->
<template>
  <CloudUpload
    action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
    :multiple="true"
    :file-list="fileList"
    @change="handleChange"
  >
    <CloudButton> <CloudIcon type="upload" /> Upload </CloudButton>
  </CloudUpload>
</template>

<script>
export default {
  title: '3.完全控制的上传列表',
  subTitle: '使用 fileList 对列表进行完全控制，可以实现各种自定义功能，以下演示三种情况：1.上传列表数量的限制。2.读取远程路径并显示链接。',
  data() {
    return {
      fileList: [
        {
          uid: '-1',
          name: 'xxx.png',
          status: 'done',
          url: 'http://www.baidu.com/xxx.png',
        },
      ],
    }
  },
  methods: {
    handleChange(info) {
      let fileList = [...info.fileList];

      // 1. Limit the number of uploaded files
      //    Only to show two recent uploaded files, and old ones will be replaced by the new
      fileList = fileList.slice(-2);

      // 2. read from response and show file link
      fileList = fileList.map(file => {
        if (file.response) {
          // Component will show file.url as link
          file.url = file.response.url;
        }
        return file;
      });

      this.fileList = fileList;
    },
  }
}
</script>

<style lang="scss">
.cloud-upload {
  .cloud-button.ant-btn-default:hover,
  .cloud-button.ant-btn-default:focus {
    color: #007aff;
    border-color: #007aff;
  }
}
</style>